package org.jeecg.modules.business.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 协议单位-客户协议
 * @Author: jeecg-boot
 * @Date:   2023-04-11
 * @Version: V1.0
 */
@Data
@TableName("bus_market_agreement_customer_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bus_market_agreement_customer_info对象", description="协议单位-客户协议")
public class BusMarketAgreementCustomer implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**关联租户*/
	@Excel(name = "关联租户", width = 15)
    @ApiModelProperty(value = "关联租户")
    private String tenantId;
	/**关联协议*/
	@Excel(name = "关联协议", width = 15)
    @ApiModelProperty(value = "关联协议")
    private String agreementId;
	/**关联酒店*/
	@Excel(name = "关联酒店", width = 15)
    @ApiModelProperty(value = "关联酒店")
    private String hotelId;
	/**协议主题*/
	@Excel(name = "协议主题", width = 15)
    @ApiModelProperty(value = "协议主题")
    private String name;
	/**协议类型*/
	@Excel(name = "协议类型", width = 15)
    @Dict(dictTable = "bus_dict_item_info", dicCode = "id", dicText = "item_text")
    @ApiModelProperty(value = "协议类型")
    private String type;
	/**协议单号*/
	@Excel(name = "协议单号", width = 15)
    @ApiModelProperty(value = "协议单号")
    private String number;
	/**签约时间*/
	@Excel(name = "签约时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "签约时间")
    private Date signTime;
	/**有效期*/
	@Excel(name = "有效期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "有效期")
    private Date effective;
	/**佣金信息保密*/
	@Excel(name = "佣金信息保密", width = 15)
    @ApiModelProperty(value = "佣金信息保密")
    private Integer secrecy;
	/**客户签约人*/
	@Excel(name = "客户签约人", width = 15)
    @ApiModelProperty(value = "客户签约人")
    private String customerSignatory;
	/**本司签约人*/
	@Excel(name = "本司签约人", width = 15)
    @ApiModelProperty(value = "本司签约人")
    private String companySignatory;
	/**内容*/
	@Excel(name = "内容", width = 15)
    @ApiModelProperty(value = "内容")
    private String content;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remarks;

    /**记佣类型(0-固定记佣；1-房类记佣)*/
    @Excel(name = "记佣类型(0-固定记佣；1-房类记佣)", width = 15)
    @ApiModelProperty(value = "记佣类型(0-固定记佣；1-房类记佣)")
    private java.lang.Integer roomType;
    /**佣金单位(0-元；1-%)*/
    @Excel(name = "佣金单位(0-元；1-%)", width = 15)
    @ApiModelProperty(value = "佣金单位(0-元；1-%)")
    private java.lang.Integer commissionUnit;
    /**每日佣金*/
    @Excel(name = "每日佣金", width = 15)
    @ApiModelProperty(value = "每日佣金")
    private java.math.BigDecimal dailyCommission;
    /**每日记佣(0-否；1-是)*/
    @Excel(name = "每日记佣(0-否；1-是)", width = 15)
    @ApiModelProperty(value = "每日记佣(0-否；1-是)")
    private java.lang.Integer commission;
    /**使用固定房价折扣(0-否；1-是)*/
    @Excel(name = "使用固定房价折扣(0-否；1-是)", width = 15)
    @ApiModelProperty(value = "使用固定房价折扣(0-否；1-是)")
    private java.lang.Integer fixedDiscount;
    /**房价固定折扣*/
    @Excel(name = "房价固定折扣", width = 15)
    @ApiModelProperty(value = "房价固定折扣")
    private java.math.BigDecimal discount;

	/**删除状态(0-正常,1-已删除)*/
	@Excel(name = "删除状态(0-正常,1-已删除)", width = 15)
    @ApiModelProperty(value = "删除状态(0-正常,1-已删除)")
    @TableLogic
    private Integer delFlag;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
}
